home *** CD-ROM | disk | FTP | other *** search
/ Intel Web Outfitter Tool Kit 4 / Intel WebOutfitter Tool Kit Version 4.0.iso / public / Outfitter / ITA / content.js < prev    next >
Encoding:
Text File  |  2000-03-13  |  4.2 KB  |  172 lines

  1. var indexMe = new Array();
  2.  
  3. function handleLayer(layid) {
  4.  
  5.   if (document.layers)
  6.     return(document.layers[layid]);
  7.   else if (document.all) {
  8.     layer = eval('document.all.' + layid + '.style');
  9.     return(layer);
  10.   }
  11.   else
  12.     return(null);
  13. }
  14.  
  15. function makeLayer(layid, lposx, lposy, lsizx, lsizy, layon, incode) {
  16.  
  17.   var indx = indexMe.length;
  18.   var layer;
  19.  
  20.   indexMe[indx] = layid;
  21.  
  22.   if (document.layers) {
  23.     document.writeln('<layer name="' + layid + '" left=' + lposx + ' top=' + lposy + ' width=' + lsizx + ' height=' + lsizy +  ' visibility=' + (layon ? '"show"' : '"hide"') + ' z-index=' + indx + '>');
  24.     document.writeln(incode);
  25.     document.writeln('</layer>');
  26.     layer = handleLayer(layid);
  27.     layer.width = lsizx;
  28.     layer.height = lsizy;
  29.   }
  30.  
  31.   if (document.all) {
  32.     document.writeln('<div id="' + layid + '" style="position:absolute; overflow:none; left:' + lposx + 'px; top:' + lposy + 'px; width:' + lsizx + 'px; height:' + lsizy + 'px;' + ' visibility:' + (layon ? 'visible;' : 'hidden;') + ' z-index:' + indx + '">');
  33.     document.writeln(incode);
  34.     document.writeln('</div>');
  35.   }
  36.  
  37.  clpLayer(layid, 0, 0, lsizx, lsizy);
  38. }
  39.  
  40.  
  41.  
  42. function clpLayer(layid, lx, ly, rx, ry) {
  43.  
  44.   var layer = handleLayer(layid);
  45.  
  46.   if (document.layers) {
  47.     layer.clip.left   = lx;
  48.     layer.clip.top    = ly;
  49.     layer.clip.right  = rx;
  50.     layer.clip.bottom = ry;
  51.   }
  52.   if (document.all)
  53.     layer.clip = 'rect(' + ly + ' ' +  rx + ' ' + ry + ' ' + lx +')';
  54. }
  55.  
  56.  
  57. var animRate = 25;
  58.  
  59. function transMove(layid, x, y, step, postex) {
  60.  
  61.   var layer = handleLayer(layid);
  62.  
  63.   if (layer.transID && layer.transID != null)
  64.     clearTimeout(layer.transID);
  65.  
  66.   if (!postex)
  67.     postex = "";
  68.  
  69.   x     = exPand(x);
  70.   y     = exPand(y);
  71.   step = exPand(step);
  72.   postex  = exPand(postex);
  73.  
  74.   var upl = Math.max(x.length, Math.max(y.length, Math.max(step.length, postex.length)));
  75.   while (x.length < upl)
  76.     x[x.length] = x[x.length - 1];
  77.   while (y.length < upl)
  78.     y[y.length] = y[y.length - 1];
  79.   while (step.length < upl)
  80.     step[step.length] = step[step.length - 1];
  81.   while (postex.length < upl)
  82.     postex[postex.length] = postex[postex.length - 1];
  83.  
  84.   makeMove(layid, x, y, step, postex);
  85. }
  86.  
  87. function makeMove(layid, x, y, step, postex) {
  88.  
  89.   var layer = handleLayer(layid);
  90.   var hrzn, vert, left, top, steps;
  91.  
  92.   if (document.layers) {
  93.     hrzn = x[0] - layer.left;
  94.     vert = y[0] - layer.top;
  95.     left = layer.left;
  96.     top  = layer.top;
  97.   }
  98.  
  99.   if (document.all) {
  100.     hrzn = x[0] - layer.pixelLeft;
  101.     vert = y[0] - layer.pixelTop;
  102.     left = layer.pixelLeft;
  103.     top  = layer.pixelTop;
  104.   }
  105.  
  106.   steps = (Math.max(Math.abs(hrzn), Math.abs(vert)) / step[0]) * (1000 / animRate);
  107.  
  108.   if (steps <= 0)
  109.     return;
  110.  
  111.   layer.transX     = x.slice(1, x.length);
  112.   layer.transY     = y.slice(1, y.length);
  113.   layer.transStep = step.slice(1, step.length);
  114.   layer.transCode  = postex.slice(1, postex.length);
  115.  
  116.   layer.transLeft   = left;
  117.   layer.transTop    = top;
  118.   layer.transDx     = hrzn / steps;
  119.   layer.transDy     = vert / steps;
  120.   layer.transFinalX = x[0];
  121.   layer.transFinalY = y[0];
  122.   layer.transSteps  = Math.floor(steps);
  123.   layer.transAction = postex[0];
  124.  
  125.   transStep(layid);
  126. }
  127.  
  128. function transStep(layid) {
  129.  
  130.   var layer = handleLayer(layid);
  131.  
  132.   layer.transLeft += layer.transDx;
  133.   layer.transTop  += layer.transDy;
  134.   if (document.layers)
  135.     layer.moveTo(layer.transLeft, layer.transTop);
  136.   if (document.all) {
  137.     layer.left = layer.transLeft;
  138.     layer.top  = layer.transTop;
  139.   }
  140.  
  141.   if (layer.transSteps-- > 0)
  142.     layer.transID = setTimeout('transStep("' + layid + '")', animRate);
  143.  
  144.   else {
  145.    if (document.layers)
  146.       layer.moveTo(layer.transFinalX, layer.transFinalY);
  147.     if (document.all) {
  148.       layer.left = layer.transFinalX;
  149.       layer.top  = layer.transFinalY;
  150.     }
  151.  
  152.     layer.transID = null;
  153.     if (layer.transAction != "")
  154.       eval(layer.transAction);
  155.  
  156.     if (layer.transX.length > 0)
  157.       makeMove(layid, layer.transX, layer.transY, layer.transSpeed, layer.transCode);
  158.     else
  159.       layer.transID = null;
  160.   }
  161. }
  162. function exPand(a) {
  163.  
  164.   var temp;
  165.  
  166.   if (!a.join) {
  167.     temp = a;
  168.     a = new Array();
  169.     a[0] = temp;
  170.   }
  171.   return a;
  172. }